package model

// 实时天气
type RealtimeWeather struct {
	Temp      string `json:"temp"`      // 当前温度 15
	Text      string `json:"text"`      // 晴
	WindDir   string `json:"windDir"`   // 北风
	WindScale string `json:"windScale"` // 风速2级
	Vis       string `json:"vis"`       // 能见度
}

// 预报天气
type ForecastWeather struct {
	MaxTemp string `json:"maxTemp"` // 最高温度
	MinTemp string `json:"minTemp"` // 最低温度
}

// RegionCode 返回体 接口文档 https://dev.qweather.com/docs/api/geoapi/city-lookup/
type RegionCodeResp struct {
	Code     string     `json:"code"`
	Location []Location `json:"location"`
}

type Location struct {
	Name    string `json:"name"`    // 西湖
	Id      string `json:"id"`      // 101210113
	Adm2    string `json:"adm2"`    // 杭州
	Adm1    string `json:"adm1"`    // 浙江省
	Country string `json:"country"` // 中国
}

// CurrentWeatherResp
// 接口文档 https://dev.qweather.com/docs/api/weather/weather-now/
type CurrentWeatherResp struct {
	Code       string `json:"code"`
	UpdateTime string `json:"updateTime"` // 更新时间
	FxLink     string `json:"fxLink"`
	Now        struct {
		ObsTime   string `json:"obsTime"`   // 2022-11-20T19:46+08:00
		Temp      string `json:"temp"`      // 当前温度 15
		FeelsLike string `json:"feelsLike"` // 体感温度 15
		Text      string `json:"text"`      // 晴
		WindDir   string `json:"windDir"`   // 北风
		WindScale string `json:"windScale"` // 风速2级
		WindSpeed string `json:"windSpeed"` // 风速公里/小时
		Humidity  string `json:"humidity"`  // 相对湿度
		Precip    string `json:"precip"`    // 当前小时累计降水量，默认单位：毫米
		Pressure  string `json:"pressure"`  // 大气压强
		Vis       string `json:"vis"`       // 可见度
		Cloud     string `json:"cloud"`     // 云量
	} `json:"now"`
}

// ForecastWeatherResp
// 接口文档 https://dev.qweather.com/docs/api/weather/weather-daily-forecast/
type ForecastWeatherResp struct {
	Code  string  `json:"code"`
	Daily []Daily `json:"daily"`
}

type Daily struct {
	FxDate         string `json:"fxDate"`
	TempMax        string `json:"tempMax"` // 最高温度
	TempMin        string `json:"tempMin"` // 最低温度
	TextDay        string `json:"textDay"`
	IconNight      string `json:"iconNight"`
	TextNight      string `json:"textNight"`
	Wind360Day     string `json:"wind360Day"`
	WindDirDay     string `json:"windDirDay"`
	WindScaleDay   string `json:"windScaleDay"`
	WindSpeedDay   string `json:"windSpeedDay"`
	Wind360Night   string `json:"wind360Night"`
	WindDirNight   string `json:"windDirNight"`
	WindScaleNight string `json:"windScaleNight"`
	WindSpeedNight string `json:"windSpeedNight"`
	Humidity       string `json:"humidity"`
	Precip         string `json:"precip"`
	Pressure       string `json:"pressure"`
	Vis            string `json:"vis"` // 可见度
	Cloud          string `json:"cloud"`
	UvIndex        string `json:"uvIndex"`
}

// 空气质量 接口文档 https://dev.qweather.com/docs/api/air/air-now/
type AirResp struct {
	Code       string `json:"code"`
	UpdateTime string `json:"updateTime"`
	FxLink     string `json:"fxLink"`
	Now        struct {
		PubTime  string `json:"pubTime"`
		Aqi      string `json:"aqi"`
		Level    string `json:"level"`
		Category string `json:"category"`
		Primary  string `json:"primary"`
		Pm10     string `json:"pm10"`
		Pm2P5    string `json:"pm2p5"`
		No2      string `json:"no2"`
		So2      string `json:"so2"`
		Co       string `json:"co"`
		O3       string `json:"o3"`
	} `json:"now"`
}
